package com.gk.panda.apis.patrol.mapper;

import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gk.panda.pojo.patrol.dto.ReportDTO;
import com.gk.panda.pojo.patrol.dto.ReportDetailDTO;
import com.gk.panda.pojo.patrol.dto.ReportPageDTO;
import com.gk.panda.pojo.patrol.entity.ReportEntity;
import com.gk.panda.pojo.patrol.request.PageReportRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author：xxz
 * @Create: 2022/11/1 15:56
 */
@Mapper
public interface ReportMapper extends BaseMapper<ReportEntity> {



    /**
     * 分页
     * @param page
     * @param request
     * @return
     */
    Page<ReportPageDTO> queryPage( @Param("page")Page<ReportPageDTO> page,@Param("request") PageReportRequest request);

    /**
     * 分页查询 事件上报
     * @param id
     * @return
     */
    List<ReportDTO> queryList( @Param("id") Long id);



    /**
     * 事件详情
     * @param reportId
     * @return
     */
    ReportDetailDTO detail(Long reportId);

    /**
     * 统计上报事件
     * @param name
     * @param type
     * @param startTime
     * @param endTime
     * @return
     */
    Long countReport(String name, String type, DateTime startTime, DateTime endTime);

    /**
     *  根据名字统计 数量
     * @param name
     * @param type
     * @return
     */
    Double countRouteSum(String name, String type);
}
